A barcode is an optical machine-readable representation of data. Originally, barcodes represented data by varying the widths and spacings of parallel lines. These types of barcodes may be referred to as linear or one-dimensional (1D) barcodes. Later, barcodes evolved into rectangles, dots, hexagons and other geometric patterns in two dimensions (2D). Although 2D systems use a variety of symbols, they are generally referred to as barcodes as well. Devices for identifying or extracting information from barcodes are generally referred to as barcode readers.
Barcodes and barcode readers have a wide variety of uses. For example, almost every item from a grocery store, department store, or a mass merchandiser has a barcode on it. In addition, barcodes are widely used in the healthcare and hospital settings for patient identification, medication management, etc. Barcodes are used to keep track of rental cars, airline luggage, registered mail, express mail and parcels, etc. Barcoded tickets allow the holder to enter sports arenas, cinemas, theatres, fairgrounds, etc.
One type of barcode reader may be referred to as an image-based barcode reader. An image-based barcode reader may attempt to read a barcode by capturing an image of the barcode and then using image processing techniques to decode the barcode.
The process for using a conventional image-based barcode reader to read a barcode may be described generally as follows. The barcode to be read may be placed inside of a target area. Light sources within the barcode reader may provide illumination (which may be direct illumination) to the target area. Light may be reflected from the barcode toward the barcode reader. Lenses within the barcode reader may focus the reflected light onto an image sensor, which includes a relatively large number of light-sensitive photosensors that are arranged in horizontal rows and vertical columns. The photosensors may be allowed to accumulate charge for a certain amount of time. Read-out circuitry within the barcode reader may generate electronic signals that indicate the amount of charge that has accumulated on the photosensors of the image sensor. These signals may be digitized and amplified in order to provide a two-dimensional array of image data. Each element within this array may be referred to as a “pixel.”
In an image-based barcode reader, the “exposure” is a measure of the amount of time that the photosensors within the image sensor are allowed to accumulate charge in order to capture an image. The “gain” is a measure of the amount by which the electronic signals that indicate the amount of charge that has accumulated on the photosensors of the image sensor are amplified.
In the context of an image that is produced by an image-based barcode reader, the term “resolution” refers to the amount of detail that the image includes. The term “field of view” refers to the size of the target area that is visible within the image. A first image may be said to have higher resolution than a second image if the first image includes more pixels for a smaller field of view than the second image. Higher-resolution images may be desirable for certain applications (e.g., for reading very small barcodes, such as those used in some manufacturing environments), but they may not be needed for others (e.g., for reading larger barcodes, such as those used in some retail point of sale environments). Lenses that produce high-resolution images may be referred to as high-resolution lenses (or high-resolution optics).
An image sensor may be configured to capture images using a “rolling shutter” technique or a “global shutter” technique. With a rolling shutter technique, an image is captured by scanning across the image either vertically or horizontally. In other words, not all parts of the image are captured at the same time. With a global shutter technique, the entire image is exposed for the same time window—i.e., all parts of the image are captured at the same time. An image sensor that produces images having a large field of view using a global shutter technique can be useful for reading fast moving barcodes.
An image of a barcode includes barcode elements and background elements. In a one-dimensional barcode, the barcode elements are vertical lines. In a two-dimensional barcode, the barcode elements may include a variety of different shapes and patterns.